﻿using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Response
{
    /// <summary>
    /// Contrato de dados OrdemDistribuicao
    /// </summary>
    [DataContract(Namespace = "http://www.bovespa.com.br/Sinacor.ServicoOrdens.Service.DataContract", Name = "OrdemDistribuicao")]
    public partial class OrdemDistribuicao
    {
        #region Campos

        /// <summary>
        /// Descricao do campo _apelidoCliente
        /// </summary>
        private string _apelidoCliente;

        /// <summary>
        /// Descricao do campo _bolsa
        /// </summary>
        private string _bolsa;

        /// <summary>
        /// Descricao do campo _codigoBroker
        /// </summary>
        private Int32   ? _codigoBroker;

        /// <summary>
        /// Descricao do campo _codigoCliente
        /// </summary>
        private Int32 ?  _codigoCliente;

        /// <summary>
        /// Descricao do campo _dataOrdem
        /// </summary>
        private DateTime ?  _dataOrdem;

        /// <summary>
        /// Descricao do campo _dataPregao
        /// </summary>
        private DateTime ?  _dataPregao;

        /// <summary>
        /// Descricao do campo _horaOrdem
        /// </summary>
        private DateTime ?  _horaOrdem;

        /// <summary>
        /// Descricao do campo _indicadorCancelamentoDistribuicao
        /// </summary>
        private string _indicadorCancelamentoDistribuicao;

        /// <summary>
        /// Descricao do campo _indicadorDistribuicao
        /// </summary>
        private string _indicadorDistribuicao;

        /// <summary>
        /// Descricao do campo _loginOperador
        /// </summary>
        private string _loginOperador;

        /// <summary>
        /// Descricao do campo _naturezaOperacao
        /// </summary>
        private DataContract.Enum.TipoNaturezaOperacao ? _naturezaOperacao;

        /// <summary>
        /// Descricao do campo _nomeCliente
        /// </summary>
        private string _nomeCliente;

        /// <summary>
        /// Descricao do campo _numeroConjunto
        /// </summary>
        private Int32 ?  _numeroConjunto;

        /// <summary>
        /// Descricao do campo _numeroOrdem
        /// </summary>
        private Int32 ? _numeroOrdem;

        /// <summary>
        /// Descricao do campo _numeroOrdemOriginal
        /// </summary>
        private Int32 ? _numeroOrdemOriginal;

        /// <summary>
        /// Descricao do campo _numeroOrdemSubSequencia
        /// </summary>
        private Int32 ?  _numeroOrdemSubSequencia;

        /// <summary>
        /// Descricao do campo _percentualDistribuido
        /// </summary>
        private  Int32 ?  _percentualDistribuido;

        /// <summary>
        /// Descricao do campo _quantidade
        /// </summary>
        private decimal ? _quantidade;

        /// <summary>
        /// Descricao do campo _quantidadeCasada
        /// </summary>
        private  Decimal  ? _quantidadeCasada;

        /// <summary>
        /// Descricao do campo _tipoMercado
        /// </summary>
        private Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Enum.TipoMercado? _tipoMercado;

        /// <summary>
        /// Descricao do campo _titulo
        /// </summary>
        private string _titulo;

        /// <summary>
        /// Descricao do campo _quantidadeDistribuida
        /// </summary>
        private Int32 ? _quantidadeDistribuida;

        /// <summary>
        /// Número do Negócio
        /// </summary>
        private int _numeroNegocio;

        #endregion

        #region Propriedades

        /// <summary>
        /// Descricao da propriedade ApelidoCliente
        /// </summary>
        [DataMember]
        public string ApelidoCliente
        {
            get { return _apelidoCliente; }
            set { _apelidoCliente = value; }
        }

        /// <summary>
        /// Descricao da propriedade Bolsa
        /// </summary>
        [DataMember]
        public string Bolsa
        {
            get { return _bolsa; }
            set { _bolsa = value; }
        }

        /// <summary>
        /// Descricao da propriedade CodigoBroker
        /// </summary>
        [DataMember]
        public Int32 ? CodigoBroker
        {
            get { return _codigoBroker; }
            set { _codigoBroker = value; }
        }

        /// <summary>
        /// Descricao da propriedade CodigoCliente
        /// </summary>
        [DataMember]
        public Int32 ?  CodigoCliente
        {
            get { return _codigoCliente; }
            set { _codigoCliente = value; }
        }

        /// <summary>
        /// Descricao da propriedade DataOrdem
        /// </summary>
        [DataMember]
        public DateTime ?  DataOrdem
        {
            get { return _dataOrdem; }
            set { _dataOrdem = value; }
        }

        /// <summary>
        /// Descricao da propriedade DataPregao
        /// </summary>
        [DataMember]
        public DateTime ?  DataPregao
        {
            get { return _dataPregao; }
            set { _dataPregao = value; }
        }

        /// <summary>
        /// Descricao da propriedade HoraOrdem
        /// </summary>
        [DataMember]
        public DateTime ?  HoraOrdem
        {
            get { return _horaOrdem; }
            set { _horaOrdem = value; }
        }

        /// <summary>
        /// Descricao da propriedade IndicadorCancelamentoDistribuicao
        /// </summary>
        [DataMember]
        public string IndicadorCancelamentoDistribuicao
        {
            get { return _indicadorCancelamentoDistribuicao; }
            set { _indicadorCancelamentoDistribuicao = value; }
        }

        /// <summary>
        /// Descricao da propriedade IndicadorDistribuicao
        /// </summary>
        [DataMember]
        public string IndicadorDistribuicao
        {
            get { return _indicadorDistribuicao; }
            set { _indicadorDistribuicao = value; }
        }

        /// <summary>
        /// Descricao da propriedade LoginOperador
        /// </summary>
        [DataMember]
        public string LoginOperador
        {
            get { return _loginOperador; }
            set { _loginOperador = value; }
        }

        /// <summary>
        /// Descricao da propriedade NaturezaOperacao
        /// </summary>
        [DataMember]
        public DataContract.Enum.TipoNaturezaOperacao  ? NaturezaOperacao
        {
            get { return _naturezaOperacao; }
            set { _naturezaOperacao = value; }
        }

        /// <summary>
        /// Descricao da propriedade NomeCliente
        /// </summary>
        [DataMember]
        public string NomeCliente
        {
            get { return _nomeCliente; }
            set { _nomeCliente = value; }
        }

        /// <summary>
        /// Descricao da propriedade NumeroConjunto
        /// </summary>
        [DataMember]
        public Int32 ?  NumeroConjunto
        {
            get { return _numeroConjunto; }
            set { _numeroConjunto = value; }
        }

        /// <summary>
        /// Descricao da propriedade NumeroOrdem
        /// </summary>
        [DataMember]
        public  Int32 ?  NumeroOrdem
        {
            get { return _numeroOrdem; }
            set { _numeroOrdem = value; }
        }

        /// <summary>
        /// Descricao da propriedade NumeroOrdemOriginal
        /// </summary>
        [DataMember]
        public  Int32 ?  NumeroOrdemOriginal
        {
            get { return _numeroOrdemOriginal; }
            set { _numeroOrdemOriginal = value; }
        }

        /// <summary>
        /// Descricao da propriedade NumeroOrdemSubSequencia
        /// </summary>
        [DataMember]
        public Int32 ?  NumeroOrdemSubSequencia
        {
            get { return _numeroOrdemSubSequencia; }
            set { _numeroOrdemSubSequencia = value; }
        }

        /// <summary>
        /// Descricao da propriedade PercentualDistribuido
        /// </summary>
        [DataMember]
        public Int32 ? PercentualDistribuido
        {
            get { return _percentualDistribuido; }
            set { _percentualDistribuido = value; }
        }

        /// <summary>
        /// Descricao da propriedade Quantidade
        /// </summary>
        [DataMember]
        public decimal ? Quantidade
        {
            get { return _quantidade; }
            set { _quantidade = value; }
        }

        /// <summary>
        /// Descricao da propriedade QuantidadeCasada
        /// </summary>
        [DataMember]
        public Decimal ? QuantidadeCasada
        {
            get { return _quantidadeCasada; }
            set { _quantidadeCasada = value; }
        }

        /// <summary>
        /// Descricao da propriedade QuantidadeDistribuida
        /// </summary>
        [DataMember]
        public Int32 ? QuantidadeDistribuida
        {
            get { return _quantidadeDistribuida; }
            set { _quantidadeDistribuida = value; }
        }


        /// <summary>
        /// Descricao da propriedade TipoMercado
        /// </summary>
        [DataMember]
        public Sinacor.Servico.Bovespa.Ordens.Service.DataContract.Enum.TipoMercado? TipoMercado
        {
            get { return _tipoMercado; }
            set { _tipoMercado = value; }
        }

        /// <summary>
        /// Descricao da propriedade Titulo
        /// </summary>
        [DataMember]
        public string Titulo
        {
            get { return _titulo; }
            set { _titulo = value; }
        }

        /// <summary>
        /// Número do Negócio
        /// </summary>
        [DataMember]
        public int NumeroNegocio
        {
            get { return _numeroNegocio; }
            set { _numeroNegocio = value; }
        }

        #endregion
    }
}
